package com.chif.goingplus.dao;

import com.chif.goingplus.pojo.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Mapper
@Repository
public interface OrderMapper {

    //增加一个订单
    int addOrder(Order order);
    //删除一个订单
    int deleteOrderById(@Param("orid") int id);
    //修改一个订单的数据
    int updateOrder(Order order);
    //查询一个订单的信息
    Order queryOrderById(@Param("orid") int id);
    //查询全部的订单
    List<Order> queryAllOrder();

    //搜索订单
    List<Order> searchOrder(Search search);

    //查询全部的订单(倒序)
    List<Order> queryAllOrderDESC();

    //查询所有售票员的订单数量
    List<SellerOrder> querySellerOrder();

    //获取全部订单状态选项
    List<Status> queryAllStatus();

    //查询某地为出发点的12个月的订单统计   顺序：12->1月
    List<String> queryOriginMonthCount(String origin);

    //查询某地为目的地的12个月的订单统计   顺序：12->1月
    List<String> queryDestinationMonthCount(String destination);

    //地区(目的地)+销量
    List<RegionOrder> getRegionOrder();

    //客源(出发点)+销量
    List<OriginOrder> getOriginOrder();

    //查询出发时间  不同时段的 订单数量
    List<Hot> getBeginTimeOrder();

    //获取所用订单的数量
    int getAllOrderCount();

    //获取车票汇总(销售额)
    int getCostCount();

    //获取今日销售额
    int getToDayCostCount();

    //获取昨日销售额
    int getYesDayCostCount();

    //获取本周销售额
    int getToWeekCostCount();

    //获取上周销售额
    int getYesWeekCostCount();



    //获取车票汇总(支付笔数)
    int getPayCount();

    //获取今日支付笔数
    int getToDayPayCount();

    //获取昨日支付笔数
    int getYesDayPayCount();

    //获取本周支付笔数
    int getToWeekPayCount();

    //获取上周支付笔数
    int getYesWeekPayCount();

    //获取当天客流量
    int getDayPassenger();


    //获取2020年每个月的客流量日平均值
    List<String> get2020MonthDayAvg();


}
